Robotic toolset and gripper

ABSTRACT

A robot configured to use a gripper to grasp one or more tools is disclosed. In various embodiments, the robot comprises a robotic arm having a gripper disposed at a free moving end of the robotic arm, and a set of two or more tools configured to grasped or otherwise engaged by the gripper. Each tool in the set of two or more tools may be disposed in a corresponding tool holder, optionally attached to the robot or situated near the robot. The robot is configured to use the gripper to retrieve a selected tool from its tool holder to perform a task; use the tool to perform the task; and return the tool to its tool holder.

BACKGROUND OF THE INVENTION

Robots have been used to perform a variety of tasks. Typically, a robotis configured to perform a predefined task or set of tasks. The robotmay include a robotic arm or other operative member used to position,activate, and/or otherwise manipulate a permanently and/or manuallyaffixed tool. Examples of such tools in industrial contexts includewithout limitation grippers, drills, welders, riveters, nozzles to applypaint or other chemicals, etc.

A gripper or other tool suitable for one task may not be (as) suitablefor another task. For example, a robotic gripper of a given size may notbe suitable to perform finer work, such as picking up a small object.

Manually changing the gripper or tool on a robot takes time and requireshuman labor, and in a commercial setting time and labor translate tohigher cost and/or lower output.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the invention are disclosed in the followingdetailed description and the accompanying drawings.

FIG. 1 is a block diagram illustrating an embodiment of a robotcomprising a toolset and gripper.

FIG. 2 is a flow chart illustrating an embodiment of a process to use aninterchangeable toolset to perform a set of tasks.

FIG. 3A is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 3B is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 3C is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 3D is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 4A is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 4B is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 4C is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 5 is a block diagram illustrating an example of an object beingpicked up by one or more robots using interchangeable tools for arobotic gripper.

FIG. 6A is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 6B is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 7 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 8 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 9 is a block diagram illustrating an embodiment of a set ofinterchangeable tools for a robotic gripper.

FIG. 10A is a block diagram illustrating an example of a robotic grippergrasping a tool in an embodiment of a robot configured to useinterchangeable tools.

FIG. 10B is a block diagram illustrating an embodiment of a calibrationand/or validation sensor pad in an embodiment of a robot configured touse interchangeable tools.

FIG. 11 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 12 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

FIG. 13 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper.

DETAILED DESCRIPTION

The invention can be implemented in numerous ways, including as aprocess; an apparatus; a system; a composition of matter; a computerprogram product embodied on a computer readable storage medium; and/or aprocessor, such as a processor configured to execute instructions storedon and/or provided by a memory coupled to the processor. In thisspecification, these implementations, or any other form that theinvention may take, may be referred to as techniques. In general, theorder of the steps of disclosed processes may be altered within thescope of the invention. Unless stated otherwise, a component such as aprocessor or a memory described as being configured to perform a taskmay be implemented as a general component that is temporarily configuredto perform the task at a given time or a specific component that ismanufactured to perform the task. As used herein, the term ‘processor’refers to one or more devices, circuits, and/or processing coresconfigured to process data, such as computer program instructions.

A detailed description of one or more embodiments of the invention isprovided below along with accompanying figures that illustrate theprinciples of the invention. The invention is described in connectionwith such embodiments, but the invention is not limited to anyembodiment. The scope of the invention is limited only by the claims andthe invention encompasses numerous alternatives, modifications andequivalents. Numerous specific details are set forth in the followingdescription in order to provide a thorough understanding of theinvention. These details are provided for the purpose of example and theinvention may be practiced according to the claims without some or allof these specific details. For the purpose of clarity, technicalmaterial that is known in the technical fields related to the inventionhas not been described in detail so that the invention is notunnecessarily obscured.

A robotic toolset and gripper are disclosed. In various embodiments, arobot is provided that includes a robotic arm having a gripper (e.g., atwo or more digit robotic “hand”) at a distal end. A toolset is providedon or near the robotic arm, such as in a permanent or detachable set ofpockets or other receptacles, each of a size and configuration toreceive an associated tool. In various embodiments, the robot isconfigured to use the gripper to retrieve a tool from the set to performa task. In an autonomous mode, in some embodiments the robot determinesbased on information associated with the task, such as one or moreattributes of an object to be picked up or otherwise interacted with, a(next) most suitable to tool to perform the task, retrieves thedetermined tool, and performs (or attempts to perform) the task. If anext task requires a different tool, the robot returns thepreviously-used tool to its receptacle and retrieves the tool needed toperform the next task.

In various embodiments, different tools are retrieved by the robot toperform different tasks, enabling a wider variety of tasks to beperformed using a same gripper installed on a robotic arm or otherrobotic member.

FIG. 1 is a block diagram illustrating an embodiment of a robotcomprising a toolset and gripper. In the example shown, robot 100includes a base 102 and a robotic arm comprising an arm mount 104; armsegments 106, 108, and 110 connected via motorized articulating joints;and a gripper 112 comprising fingers 113 a and 113 b. While fingers 113a and 113 b are shown in FIG. 1 as straight, non-articulating fingers,in various embodiments the gripper 112 may have articulating fingers(e.g., fingers comprising two or more movable segments, capable ofconforming to the shape of an object being grasped) and/or be of a rigidshape that is not straight. In various embodiments, gripper 112 mayinclude more than two fingers. For example, in some embodiments, gripper112 may comprise a three (or more) finger adaptive gripper.

In the example shown in FIG. 1, tool holders 114 are mounted on avertical side of base 102. In various embodiments, tool holders 114(numbered “1”, “2”, and “3”, respectively, in FIG. 1), are removableand/or capable of being swapped with other tool holders 114. Forexample, in some embodiments, robot 100 is configured to swap one or allof the tool holders 114 and replace them with other tool holders 114,such as ones that contain and are adapted specifically to house aspecific alternative set of tools. In some embodiments, tool holders 114are connected together and comprise a rigid or flexible interchangeable“tool belt”. In some embodiments, robot 100 is configured to select andmount a tool belt comprising the tools needed to perform a given set oftasks.

In the example shown in FIG. 1, base 102 of robot 100 is mounted on apropulsion chassis 116, in this example a track type propulsion system.In other embodiments, robot 100 may be stationary (e.g., mounted in afixed location) or may include a propulsion mechanism other than a tracktype system, e.g., wheels, legs, etc.

In the example shown, robot 100 further includes a camera 118 mounted onbase 102. In various embodiments, robot 100 may include one or moreadditional and/or other cameras, e.g., one or more cameras mounted onthe robotic arm (106, 108, and 110) and/or gripper 112. In variousembodiments, a control system of robot 100 uses image data generated bycamera 118 to perform an assigned task or set of tasks. For example, inthe example shown in FIG. 1, robot 100 may be tasked with picking up andplacing a destination location (not shown) the objects 122, 124, and126. The objects 122, 124, and 126 have different shapes, as shown inFIG. 1, and may have other differing attributes. For example, object 122may be a very heavy item, such as an anvil. Object 124 may be heavy,e.g., a bowling ball, or very light and fragile, e.g., a hollow crystalball. Likewise, object 126 may be heavy, such as an artillery round or asolid obelisk, or light, such as a fragile vase.

In various embodiments, robot 100 may be assigned the task to pick andplace objects 122, 124, and 126 via a control station, such as controlcomputer 120. In the example shown in FIG. 1, control computer 120 is inwireless communication with robot 100. Robot 100 may include controlelements housed in base 102, or elsewhere, such as wireless (or wired)communication interface (e.g., a network interface card, WiFitransceiver, Bluetooth™ or other near field transceiver, etc.) and oneor more processors or microcontrollers, not shown in FIG. 1. In theexample shown in FIG. 1, a model and knowledge base 128 is used toperform tasks assigned to robot 100. For example, a model of robot 100may be used to determine how to drive robot 100 to a position to performa task or subtask, and how to manipulate the robotic arm of robot 100(e.g., by driving motors at the joints connecting base 104, segments106, 108, and 110, and gripper 112 to adjacent ones of each other) touse and manipulate gripper 112 to perform tasks. The knowledge base mayinclude a model that has been trained via machine learning techniques toenable robot 100 and/or control computer 120 to recognize—e.g., based onimage data generated by camera 118—salient attributes of objects to bepicked up by robot 100.

In some embodiments, if robot 100 cannot classify an object, robot 100is configured to employ alternate strategies to determine the attributesrequired to be known to perform a task. For example, in someembodiments, robot 100 may determine a weight attribute at least in partby gripping an object and attempting to move it with minimal and/orvarying degrees of force. In some embodiments, rigidity may be assessedby gently squeezing the object with gripper 112. In some embodiments, ifneeded robot 100 and/or control computer 120 may be configured to invokehuman intervention, e.g., to provide manual input regarding a givenattribute (weight, rigidity, fragility, etc.) In various embodiments,robot 100 continues to learn to recognize attributes, such as byupdating its knowledge base to reflect information determined byexperimentation and/or human intervention.

In various embodiments, a task or set of tasks may be assigned via auser interface 130 of control computer 120. For example, a human (ornon-human, e.g., a robot, computer, or other machine) 132 may provideinputs via user interface 130. For example, a task may be assigned byselecting via user interface 130 an option to define and start a “pickand place” operation, and by using a cursor or other input device todesignate objects 122, 124, and 126 as the objects to be picked up andplaced in designated locations. For example, robot 100 may be taskedwith picking up objects 122, 124, and 126 and placing them in adestination location (e.g., a box, a shelf, a cargo area of a truck orother vehicle) and/or each in a corresponding designated location. Insome embodiments, user interface 130 may (optionally) be used to provideattributes of objects 122, 124, and 126, if known to user 132, such asby designating one or more of them as “heavy” or “fragile”.

In various embodiments, robot 100 is configured to determine a set oftools required (or, in some embodiments, optimal) to perform a set oftasks, and to use the determined tools to perform the tasks. In variousembodiments, robot 100 is configured to carry the tools in tool holders114. As each tool is required, robot 100 uses gripper 112 to obtain thetool from its corresponding holder 114, performs the task (or subtask)with the tool, and returns to tool to its holder 114. In someembodiments, a tool held in its corresponding tool holder 114 may begraspable by gripper 112. Gripper 112 is positioned over the holder 114corresponding to the required tool, gripper 112 is inserted into theholder and/or around the tool, and is used to grasp and extract the toolfrom the holder 114. In some embodiments, a synchronized activation of arelease mechanism in holder 114, and/or deactivation of a lockingmechanism, is performed to enable the gripper 112 to extract the tool.

In some embodiments, gripper 112 does not (necessarily) grasp the tool.For example, in some embodiments and/or for some tools, the fingers 113a and 113 b of gripper 112 may be inserted into the tool.

In various embodiments, a tool in tool holders 114 may comprise amechanism to actuate the tool or a portion thereof, e.g., pneumatically,by electric motor(s), etc. In some embodiments, connections may beincorporated into gripper 112 to provide one or more of electric power,control signals, compressed air or other pneumatic fluid, etc. to thetool being retrieved.

In various embodiments, one or more of the robot 100 and controlcomputer 120 may include control logic to determine attributes ofobjects with respect to which tasks are to be performed, such as objects122, 124, and 126 in the example shown in FIG. 1, and to determine a setof tools to perform the tasks. The control logic includes logic todetermine whether the required (or optimal) tools are in the holders114, and if not to swap out the tools and/or the set of holders 114 withthe required tools and/or set of holders 114 comprising the requiredtools. Once the required tools are in holders 114 on base 102, robot 100uses the tools to perform the tasks. The tools may be selected based onattributes such as the shape of each object, its size, its density orother indication of the object's weight, its fragility, etc.

FIG. 2 is a flow chart illustrating an embodiment of a process to use aninterchangeable toolset to perform a set of tasks. In variousembodiments, the process 200 of FIG. 2 may be performed by one or moreprocessors configured to control a robot, such a processor comprisingone or more of robot 100 and control computer 120, in the example shownin FIG. 1. In the example shown in FIG. 2, an object with respect towhich a given task or subtask is to be performed is detected and one ormore attributes relevant to the task is/are determined (202). In someembodiments, computer (machine) vision, machine learning, artificialintelligence, and related techniques may be used to detect, classify,determine the orientation of, and determine applicable attributes of anobject in the robot's field of view. Attributes such as size, weight,density, rigidity, coarseness, fragility, material, surface texture,etc. may be determined in various embodiments. A tool (or tools) bestsuited to perform the assigned task with respect to the detected objectis/are determined (204). In some embodiments, an ordered (e.g., rankedby numerical or other suitability score) set of tool options may bedetermined, including a most suitable tool and one or more next-mostsuitable tools in order. The most (or next most) suitable tool isobtained (206). For example, a gripper or other manipulative hand orproto-tool is used, in various embodiments, to grasp the tool, obtainthe tool by insertion into the tool, etc. The tool is used (or attemptedto be used) to perform the task (208).

If the task is not completed successfully (210), e.g., after aconfigured, learned, or otherwise determined number of tries, it isdetermined whether a next suitable tool is available to be tried (212).For example, a next tool on an ordered list of suitable tools may betried. Or, an attribute learned during a prior attempt (one or more of204, 206, 208, and 210) may be tried. For example, in some embodiments,capacitive sensors or other sensors may be used to detect slippage,e.g., that an object the robot is attempting to pick up slipped betweenthe operative elements of the tool being used by the robot to attempt topick the object up. In response, the robot and/or control computer maydetermine the object is heavier and/or more slippery than originallydetermined, and may select a tool with a greater lifting capacity,higher friction fingers, etc.

If an attempt to perform the task is not successful and no further toolis available to be tried (212), the process ends and a “fail” result isreturned. In some embodiments, a “fail” result of the process 200prompts a human to intervene. The human may use a user interface tomanually perform the task, select a more suitable tool, prompt the robotto change out the toolset for a heavier (or lighter) duty set, or a setthat is otherwise more suitable to the task, etc.

If after an unsuccessful attempt to perform a task with a current tool(206, 208, 210) a next tool to be tried is available (212), in theexample shown the next tool is retrieved (206) and used to perform (orattempt to perform) the task (208). Future retries with subsequenttools, if any, may be attempted (206, 208, 210, 212, etc.)

Once the task has been completed successfully (210) or has failed due tonot being completed successfully and no further tools being available totry (210, 212), to process 200 ends.

In various embodiments, a potentially wide variety of interchangeabletools capable of being grasped, held, inserted into, or otherwise pickedup, engaged, manipulated and/or used by a robot via its gripper, hand,or other robot arm distal end appendage may be provided. Certain of thefollowing figures illustrate examples of such interchangeable tools invarious embodiments. In some embodiments, a tool as disclosed herein maybe attached to a gripper, stub, or other distal end of a robotic arm viaa magnetic snap-locking mechanism. In some embodiments, magneticalignment is used to align the tool to the gripper, e.g., to makeconnections for the transfer of power, data, etc.

FIG. 3A is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown,toolset 304 comprises a pair of interchangeable “fingers” or finger tipsinto which corresponding finger elements of a robotic gripper may beinserted. In this example, toolset 304 includes two tools, a firstcomprising a hollow rectangular (or other cross-section, e.g., round,oval, hex, irregular, variable, etc.) shaft 306 with a soft (e.g.,cushioned) end piece 308 and a second comprising hollow rectangularshaft 310 and soft end piece 312. In some embodiments, toolset 304 maybe picked up and used by the robot to manipulate fragile items, such asitems that could be scratched if handled directly by the gripper.

The robotic gripper 112 of FIG. 1 is shown with fingers 113 a and 113 bpositioned above the shafts 306 and 310. In some embodiments, thetoolset 304 may be held in place in a holster or other tool carrier,e.g., in the upright position as shown. The robot (e.g., robot 100 ofFIG. 1) may be configured to position the robotic gripper (e.g., gripper112) over the tool. The robot may be configured, e.g., via a model,configuration data, sensing (e.g., reading a bar code or RF tag), and/orother data to know which tool is located in which tool holder. The robotmay use a model of its own geometry to position its gripper over thetool and insert the gripper into the tool. Sensors on one or more of thegripper, the tool, and the tool holder may be used to detect that thegripper has been fully inserted. Mechanical or electromechanicalmechanisms may be used to look the gripper into the tool and/or the toolonto the gripper. Sensors and associated logic may be used to releasethe tool from the tool holder once the tool is fully engaged by thegripper, enable the robot to extract the gripper—with the tool ongripper and/or in the grasp of the gripper—and use the tool to performthe task.

FIG. 3B is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In this example, toolset 320includes two tools, one for each of two gripper fingers. Each includes ashaft (322, 326) and a sickle-shaped tool at the distal end (324, 328).In various embodiments, the toolset may be used to pick up objects intowhich the sickle-shaped tools (324, 328) may be driven to some depth(e.g., a block of ice or wood) without damaging the object, and/or topick up a heavier object that might otherwise slip out of the gripperand/or having a shape to which the sickle-shaped tools (324, 328)conforms or conforms more fully than the gripper fingers (e.g., 113 aand 113 b).

FIG. 3C is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown,toolset 330 includes tools having hollow rectangular shafts (332, 336)to receive the gripper fingers and wide rectangular paddle ends (334,338). In some embodiments, toolset 330 may be selected by a robot topick up a large box or other item having opposite vertical sides. Thelarge surface area of the paddles 334, 338 may enable such an item to bepicked while applying less compressive (squeezing) force, due to thefriction associated with the large surface area of the paddles 334, 338compared to the bare gripper fingers.

FIG. 3D is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, tool340 comprises a scissor-like cutting tool. The tool 340 includesrectangular shafts 342, 346 to receive the gripper fingers, and scissorblades 344 and 348. Alternating closing and opening of the gripperfingers, once inserted, forces the shafts 342 and 346 alternatinglytogether and apart, causing blades 344 and 348 to alternately togetherand apart in a familiar scissoring motion.

FIGS. 3A through 3D show a variety of tools into which robotic gripperfingers may be inserted to retrieve, extract, and manipulate the tool. Awide variety of other tools retrieved by inserting gripper fingers intoreceptacles, such as the rectangular shafts of the tools shown in FIG.3A through 3D, are contemplated.

In various embodiments, a toolset as disclosed herein may include one ormore implements that the gripper is configured to grasp and use as atool, e.g., to hold, lift, push, or otherwise move an object; to tap,press, pound, strike, impact, crush, or otherwise apply force to anobject; or a blade, serrated edge, wedge, spike, saw or other tool tocut or bore into an object.

FIG. 4A is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, block402 comprises a tool that in various embodiments a robotic gripper isconfigured to grasp and use as a tool. In some embodiments, block 402may be stowed in a tool holder, such as tool holders 114 of FIG. 1, fromwhich the robot may be configured to retrieve the block 402, use it toperform a task, and return the block 402 once the robot is done usingthe block 402. In various embodiments, block 402 may be of a materialsuitable to a given task, such as rubber, foam, wood, or solid metal,depending on the nature of the task. In some embodiments, one or morerobots and/or one or more robotic arms comprising a single robot, eachholding a corresponding block 402, may cooperate to perform a giventask.

FIG. 4B is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, thestriking tool of FIG. 4B comprises a hammer or other striking head orblock 404 and a handle 406. The block 404 may be molded on and/or bondedon or to an end of the handle 406. In various embodiments, a robotand/or robotic arm is configured to grasp the handle 406 of the tool ofFIG. 4B, and to swing, translate, or otherwise move the tool throughspace to cause the head or block 404 to strike, press against, orotherwise impact or interact with an object. A second robot and/orrobotic arm may be used to hold the object in place, such as to positionand hold a nail in a position to be hammered into a piece of wood, etc.

FIG. 4C is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, a sawcomprising a serrated blade 408 and a handle 410 is provided. In variousembodiments, a robot and/or robotic arm is configured to grasp thehandle 410 of the tool of FIG. 4C, position the blade 408 adjacent anobject or material to be cut, and move the handle 410 in a reciprocatingmotion while advancing the blade 408 through the object or material tocut the object or material.

In various embodiments, a toolset as disclosed herein may include zero,one, or more of each of the tools of FIGS. 4A, 4B, and 4C. For example,a tool “belt” or other interchangeable set of tools for a robot asdisclosed herein may include one each of the tools of FIGS. 4A, 4B, and4C. Alternatively, a tool set as disclosed herein may include two ormore instances of one or more of the tools of FIGS. 4A, 4B, and 4C, eachof a different size, consistency, material, etc., each one of which maybe more suitable for a given task or type of task than another similar(or dissimilar) tool in the set. For example, a set of blocks like block402 of FIG. 4, each of different size, may be included, and the robotmay be configured to select, retrieve, use, and return to its holder ablock of the most suitable size to perform a given task. Or, a set ofblocks like block 402 of FIG. 4, each of different material, firmness,tackiness, etc., may be included, and the robot may be configured toselect, retrieve, use, and return to its holder the block that is mostsuitable to perform a given task. Similarly, a tool set may includehammer-like tools, such as the tool of FIG. 4B, with differently shapedand/or sized heads 404 and/or cutting tools, such as the tool of FIG.4C, with blades of different serration patterns, hardness, etc., eachmost suitable for a corresponding set of tasks or types of task, e.g.,cutting wood versus metal, etc.

FIG. 5 is a block diagram illustrating an example of an object beingpicked up by one or more robots using interchangeable tools for arobotic gripper. In the example shown, a first robotic arm 502 includesa gripper 504 that is holding a first block 402 and a second robotic arm506 includes a gripper 508 that is holding a second block 402. The firstand second robotic arms 502, 506 are being used cooperatively to pressthe respective blocks 402 to opposite sides of a large object 510, inthis example a large box, e.g., to pick the object 510 up and place itin a destination location. Note that the size and configuration of thegrippers 504, 508 is such that it may have been difficult for the object510 to be picked up using the grippers 504, 508 without using the blocks402.

In various embodiments, a tool to be used by a robot as disclosed hereinmay include mechanisms that translate the gripping action and force oftwo or more fingers or other digits of the gripper to a desired motion,range, location, or force. For example, a gripping motion of the gripperwhen inserted into a tool as disclosed herein may be translated by amechanism comprising the tool to a finer range of motion, a more finelycontrolled amount of force, etc. Such a mechanism may be mechanical,electromechanical, electronically controlled, hydraulic, pneumatic, orany other technique that translates a gripping or squeeze motion on onescale to a desired motion and/or force on a target scale with which thetool is associated.

FIG. 6A is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, tool600 includes a body 602 having hollow rectangular receptacles 604 and606 of a size and shape suitable to receive fingers of a robotic gripperinserted through holes 608 and 610, respectively. Receptacles 604 and606 are movable mounted in body 602 of tool 600, enabling thereceptacles 604 and 606 to be squeezed together and moved apart withinbody 602 by closing and opening motion of gripper fingers inserted intoreceptacles 604 and 606. Tool 600 includes within body 602 mechanicallinkages 612 and 614 positioned and connected to transmit to arms 616and 618, respectively, force applied to receptacles 604 and 606 byclosing and/or opening the grip of gripper fingers inserted intoreceptacles 604 and 606. In this example, the force transmitted viamechanical linkages 612 and 614 cause the arms 616 and 618 to rotateabout pivots (e.g., pins or other fasteners) 620 and 622, respectively,causing the respective fingers of tool set 304 of FIG. 3A (or any othertools provided on the ends of arms 616 and 618) to move together orapart in response.

In various embodiments, mechanical linkage 612 and 614 represent anysuitable mechanical linkage. In various embodiments, the specificmechanisms used to translate movement of the gripper fingers to movementof the operable elements of the tool are selected based on the force,scale, size, etc. of the desired tool and the task to be performed.

As shown in FIG. 6A, the robotic gripper 112 of FIG. 1 is positionedover the tool, in a position in which the fingers 113 a and 113 b arealigned to be inserted into the receptacles 604 and 606, respectively,via holes 608 and 610. Note that in the example shown the tool 600extends the reach of the gripper and tool combination well beyond thelength of the fingers 113 a and 113 b, and provides a cushioned distalend, as described above in connection with FIG. 3A.

FIG. 6B is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In FIG. 6B, the same tool600 is shown with the fingers 113 a and 113 b of robotic gripper 112shown inserted into the receptacles 604 and 606.

In the example shown in FIGS. 6A and 6B, the closing/opening motion andforce of the gripper 112 and fingers 113 a and 113 b is translated intoa corresponding closing/opening motion of the arms 616 and 618, and thetoolset (fingers/extensions) 304 disposed thereon. However, in variousembodiments, the closing/opening motion and force of the gripper 112 andfingers 113 a and 113 b may be translated into other motions, such astwisting or rotating a shaft, advancing or withdrawing a lance or othertool end, etc.

FIG. 7 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, tool700 includes a body 702 and receptacles 704 and 706 configured toreceive gripper fingers. In this example, the mechanical linkage 708,710 in body 702 translates the closing/opening movement of thereceptacles 704, 706 by operation of gripper fingers inserted therein toa rotational motion, by engaging opposite ends of a gear (flange, cam,etc.) 712 fixed to shaft 714, causing shaft 714 and bit 716 on thedistal end of shaft to rotate back/forth, as indicated by the two-headedarrows shown in FIG. 7.

While the closing/opening (e.g., compression/release) of the roboticgripper is translated into alternating back/forth rotation in theexample shown in FIG. 7, in other embodiments other motion is impartedvia a different transmission mechanism that the one shown in FIG. 7.

In some embodiments, wired or wireless connections may be made betweenthe robotic gripper and a tool is has retrieved (e.g., by inserting thegripper into the tool, grasping the tool, etc.) to transmit one or moreof electrical power, electrical/electronic control signals, sensorreadings, etc. from the gripper to the tool and/or vice versa. Forexample, a wired connection may be established between the gripper andthe tool to transfer electrical power. In some embodiments, pneumatic orhydraulic connections may be made between the gripper and the tool. Insome embodiments, power may be transferred wirelessly from the gripperto the tool. For example, inductive or other wireless charging or realtime provision of power may be performed. In some embodiments, Wi-Fi,analog RF, or other wireless signals may be transmitted, e.g., from thegripper to the tool to send a command to control the tool or from thetool to the gripper to provide a sensor reading or other feedback.

FIG. 8 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, tool800 includes a body 802 and receptacles 804 and 806, which areconfigured to receive gripper fingers inserted via holes 808 and 810. Inthis example, it is contemplated that the gripper fingers inserted intoreceptacles 804 and 806 have on their distal end mail connectors of asize and shape suitable to be inserted into and/or otherwise mate withconnectors 812 and 818, respectively, located at the inner/bottomextreme of receptacles 804 and 806 respectively. In the example shown,connector 812 is configured to receive a pneumatic (e.g., compressedair) connection to supply compressed at to a pneumatic actuator 814configured to actuate arm 816 and/or a pneumatic tool/finger affixedthereto. Connector 818 by contrast is in this example andelectrical/electronic connector configured to supply power and/ortransmit control and/or sensor signals between the robot and controlcircuit 820 associated with arm 822. While pneumatic andelectrical/electronic connections are illustrated in FIG. 8, in variousembodiments other connections and/or combinations of connection may bemade, including without limitation hydraulic or other connections.

In some embodiments, control signals, sensor outputs, and/or othervalues may be communicated wirelessly between a robot and a tool. Forexample, Bluetooth™, analog RF, Wi-Fi, and/or other near field or otherwireless communication technologies may be used to provide connectivitybetween a robot and a tool, via a gripper used to retrieve and use therobot. In some embodiments, signals may be communicated wireless betweena robot controller and/or other processor and the gripper and/or toolvia analog RF communications relayed from segment to segment (e.g., limbto limb) of a robotic arm and/or a gripper affixed thereto. Shunts orother conduits may be used to avoid interference and ensure a sufficientsignal to noise level for each leg of the relayed communication.

FIG. 9 is a block diagram illustrating an embodiment of a set ofinterchangeable tools for a robotic gripper. In the example shown, a setof tools comprising gloves 902, 904, and 906, each having a same orsubstantially similar shape but each having one or more distinctattributes that distinguishes it from the other tools in the set, suchdifferent materials, firmness, tackiness, texture, heat resistance,chemical resistance, etc., is disposed in a tool carrier or belt 908.Tool carrier or belt 908 may be hung or otherwise attached, permanentlyor interchangeably, on a robot, such as robot 100 of FIG. 1. In theexample shown, gripper 112 of FIG. 1 is positioned over glove 906, in aposition in which the fingers 113 a and 113 b are lined up with andpositioned to be inserted into corresponding cavities (not shown) inglove 906.

In some embodiments, the fingers 113 a and 113 b fit snugly into thegloves 902, 904, and 906. Once inserted, a retaining mechanism thatholds the selected glove in holder 908 is released, enable the gripper112 to be withdrawn with the selected glove on. The gloved gripper maythen be used to perform a task for which the selected glove (902, 904,or 906, for example) has been selected to perform, e.g., based on adetermination that one or more attributes of the selected glove make itthe best suited to perform the task.

FIG. 10A is a block diagram illustrating an example of a robotic grippergrasping a tool in an embodiment of a robot configured to useinterchangeable tools. In the example shown, gripper 112 has been usedto grasp a tool 1002. The tool 1002 may have been grasped from a holdercomprising a set of holders, such as holders 114 of FIG. 1. In thisexample, the tool 1002 has been grasped at a non-zero acute angle to thevertical orientation of the gripper 112 and segment 110, as shown. Insome embodiments, a calibration or other process of detection may beused to determine the actual orientation of the tool 1002, as grasped.

FIG. 10B is a block diagram illustrating an embodiment of a calibrationand/or validation sensor pad in an embodiment of a robot configured touse interchangeable tools. In some embodiments, the calibration pad 1004of FIG. 10B is used to determine and/or validate the orientation of atool as grasped by a robotic gripper, such as tool 1002 in the exampleshown in FIG. 10A. In the example shown in FIG. 10B, calibration pad1004 includes a central target 1006 to which the robot is configured toattempt to touch a distal end of a tool, such as tool 1002, that therobot has grasped with its gripper. The robot uses a model of itself toposition its gripper in a position in which the tip of the tool shouldbe directly above the target 1006, based on the expected position of thetip relative to the gripper and/or another structure of the robot. Thetool is then touched to the calibration pad 1004, which in variousembodiments comprises a capacitive, a resistive, or other touch screenor pad. In the example shown in FIG. 10B, the tip is detected to havebeen touched at point 1008. In various embodiments, the actual locationtouched is used by one or more of the robot and an associatedcontroller, computer, and/or other processor to determine theorientation of the tool 1002 as grasped. The orientation informationcomprises and/or is used to determine corrections to model-basedmanipulation of the tool by the robot, e.g., by taking the orientationinto consideration in determining how to position and move the gripperto use the tool 1002 to perform a task.

In various embodiments, an interchangeable tool—e.g., one that can begrasped or otherwise retrieved by a robotic gripper, may be configuredto enable the gripper to be used to conduct tasks more finely, moreprecisely, with more control, and/or at a smaller or larger scale thancould be accomplished (as reliably or well) by the gripper alone.

FIG. 11 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, tool1100 includes fingers/extensions 1102 and 1104, each having at itsdistal end a small scale tool segment 1106, 1108 with a soft tip. In theexample shown, the tool 1100 is being used to grasp and/or manipulate asmall, fragile object 1110, which the gripper 112 may not have been ableto pick up with sufficient precision or care without the beneficial useof tool 1100.

Tools for a robotic gripper, as disclosed herein, may be used toincrease (or decrease) the number of fingers or other digits manipulatedby a gripper. For example, a two-fingered gripper may be used tomanipulate a tool that includes a three-fingered gripper, or a three- ormore-fingered (adaptive) robotic hand.

FIG. 12 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, tool1200 enables a two-fingered gripper to be used to retrieve and use athree-pronged claw type grabber 1214. The tool 1200 includes a body1202, receptacles 1204 and 1206 entered via holes 1208 and 1210, and agearbox (or other transmission) 1212 to translate closing/opening motionof gripper fingers 113 a, 113 b inserted into receptacles 1204 and 1206into closing/opening action of claw 1214.

FIG. 13 is a block diagram illustrating an embodiment of aninterchangeable tool for a robotic gripper. In the example shown, tool1300 includes a body 1302 and three receptacles 1304, 1306, and 1308into which a three-fingered robotic gripper or hand is configured to bereceived. In various embodiments, a tool as disclosed herein may beconfigured to receive as many or as few digits as the robotic gripperaffixed to the robot and/or robotic arm may comprise.

In some embodiments, a robot or robotic arm as disclosed herein may beconfigured to retrieve and use an extension to the robotic arm itself.The extension may have one or more robot arm segments, zero or moreadditional joints, and/or a gripper or hand. In some embodiments, therobot is configured to determine that to perform a task the armextension should be shed. For example, the weight of the arm extensionmay be too high in light of the load to be lifted. The robot in someembodiments would be determined to detect such a condition, shed the armextension, and use the remaining robotic arm segments and/or a gripperat the end, with or without retrieving a tool, as appropriate and/orrequired, to perform the task. Once completed, the robot is configuredto retrieve and reattach the arm extension to perform a subsequent task,e.g., one for which the added range and/or flexibility of having theadded segment(s) may be helpful or necessary.

In various embodiments, techniques disclosed herein may be used toenable a robotic gripper to be used to perform a wide variety of tasks,having a wide variety of requirements, without having to manuallyexchange or adjust the gripper to render it more suitable to a giventask.

Although the foregoing embodiments have been described in some detailfor purposes of clarity of understanding, the invention is not limitedto the details provided. There are many alternative ways of implementingthe invention. The disclosed embodiments are illustrative and notrestrictive.

What is claimed is:
 1. A robot, comprising: a robotic arm having agripper disposed at a free moving end of the robotic arm; and a set oftwo or more tools configured to be grasped or otherwise engaged by thegripper, wherein the each tool in the set of two or more tools isdisposed in a corresponding tool holder; wherein the robot is configuredto select from the set of two or more tools a selected tool to be usedto perform a task; use the gripper to retrieve the selected tool fromits tool holder; use the tool to perform the task; and return the toolto its tool holder.
 2. The robot of claim 1, wherein the robotdetermines the selected tool based at least in part on an attribute ofan object with which the task is associated.
 3. The robot of claim 2,wherein the attribute comprises one or more of a size, weight, material,density, rigidity, and fragility of the object.
 4. The robot of claim 2,wherein the robot further includes a camera and is configured todetermine the attribute based at least in part on image data generatedby the camera.
 5. The robot of claim 2, wherein the robot is configuredvia machine learning to recognize the object and determine theattribute.
 6. The robot of claim 1, wherein the set of two or more toolsand their respective tool holders is mounted on the robot in aninterchangeable manner.
 7. The robot of claim 6, wherein the robot isconfigured to replace an installed set of tools and associated toolholders with a replacement set of tools and tool holders.
 8. The robotof claim 1, wherein one or more of the tools in set of two or more toolsincludes an electrical connector to enable electrical power to besupplied from the robot to the tool via a corresponding electricalconnector incorporated into or otherwise associated with the gripperwhen the gripper is engaged with the tool.
 9. The robot of claim 1,wherein one or more of the tools in set of two or more tools includes awireless charging pad, antenna, or other physical interface to enableelectrical power to be supplied wirelessly from the robot to the tool.10. The robot of claim 1, wherein one or more of the tools in set of twoor more tools includes a pneumatic or hydraulic connector to enable apressurized fluid to be supplied from the robot to the tool via acorresponding connector incorporated into or otherwise associated withthe gripper when the gripper is engaged with the tool.
 11. The robot ofclaim 1, wherein one or more of the tools in set of two or more tools issized and configured to operate on objects of a different scale than thegripper.
 12. The robot of claim 1, wherein the gripper comprises atwo-fingered gripper.
 13. The robot of claim 1, wherein the grippercomprises three or more fingers.
 14. The robot of claim 1, wherein thegripper includes a plurality of articulated digits each having two ormore segments.
 15. The robot of claim 1, wherein the robot is configuredto retrieve the selected tool at least in part using a model of therobot and a location of the select tool's tool holder relative to aframe of reference.
 16. The robot of claim 1, wherein each of the toolholders is configured to hold its corresponding tool in a restrainedposition that facilitates retrieval by the gripper.
 17. The robot ofclaim 16, wherein the tool holder is further configured to release thetool upon receiving an indication that the gripper has mated with thetool.
 18. The robot of claim 1, wherein the robot is configured to usethe gripper to retrieve the tool by using the gripper to grasp the tool.19. The robot of claim 1, wherein the robot is configured to use thegripper to retrieve the tool by inserting the gripper into the tool. 20.The robot of claim 1, wherein the selected tool comprises a detachableend segment of the robotic arm; the task requires the robot to lift anobject of a weight above a prescribed threshold; and the robot isconfigured to shed the detachable end segment to perform the task. 21.The robot of claim 1, wherein the selected tool comprises a firstselected tool; the robot is configured to attempt to perform the taskusing the first selected tool; and, in the event the attempt fails, therobot is configured to use a second selected tool to perform or attemptto perform the task.
 22. The robot of claim 1, wherein the robot isfurther configured to determine an orientation of the selected tool asgripped using the gripper.
 23. The robot of claim 22, wherein the robotis configured to determine the orientation of the selected tool asgripped using the gripper at least in part by touching the tool to acalibration pad and comparing an indication of a location at which thetool was detected to touch the calibration pad with an expected locationon the calibration pad.
 24. The robot of claim 1, wherein the taskinvolves picking up an object and the robot is configured to determineto use the selected tool to perform the task at least in part byattempting to perform the task using one or both of the gripper and asecond tool and detecting slippage of the object during the attempt toperform the task using one or both of the gripper and a second tool. 25.The robot of claim 1, wherein the robot is further configured to use asensor associated with the gripper to retrieve and use the selectedtool.
 26. The robot of claim 1, wherein the selected tool includes asensor and the robot is further configured to receive and use a sensoroutput of the sensor to use the selected tool to perform the task.